要將 Google 的當週信件寄送檔案(如 CSV 或 Excel)導入到 Odoo 並建檔,並利用 RPA 程式來自動化
我們預計採取的步驟:
首先,假設你已經有了 Google 郵件的寄送檔案,這些檔案通常是 CSV 或 Excel 格式的。將這些檔案下載到本地。
建立一個 Odoo 模組: 如果你沒有現成的模組,可以建立一個自定義模組來處理導入操作。
新增模型和視圖:
mail.send.record
),用於儲存從 Google 信件寄送檔案中導入的資料。from odoo import models, fields, api
import csv
import base64
from io import StringIO
class MailSendRecord(models.Model):
_name = 'mail.send.record'
_description = 'Mail Send Record'
date = fields.Date(string='Date')
recipient = fields.Char(string='Recipient')
subject = fields.Char(string='Subject')
body = fields.Text(string='Body')
def import_mail_records(self, file_data):
file_content = base64.b64decode(file_data)
file_stream = StringIO(file_content.decode('utf-8'))
reader = csv.DictReader(file_stream)
for row in reader:
self.create({
'date': row.get('Date'),
'recipient': row.get('Recipient'),
'subject': row.get('Subject'),
'body': row.get('Body')
})
<record id="view_mail_send_record_import" model="ir.ui.view">
<field name="name">mail.send.record.import</field>
<field name="model">mail.send.record</field>
<field name="arch" type="xml">
<form string="Import Mail Records">
<sheet>
<group>
<field name="file_data" filename="file_data"/>
<button name="import_mail_records" string="Import" type="object" class="oe_highlight"/>
</group>
</sheet>
</form>
</field>
</record>
以下是一個簡單的 RPA 程式示例,使用 Python 和 Selenium 來自動化文件上傳和導入。
安裝必要的庫,如 selenium
和 pandas
:
pip install selenium pandas
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import pandas as pd
import time
# 設定 WebDriver 路徑
driver_path = '/path/to/chromedriver'
driver = webdriver.Chrome(executable_path=driver_path)
# 打開 Odoo 登入頁面
driver.get('http://your-odoo-instance.com/web/login')
# 登入 Odoo
driver.find_element(By.ID, 'login').send_keys('your-username')
driver.find_element(By.ID, 'password').send_keys('your-password')
driver.find_element(By.ID, 'password').send_keys(Keys.RETURN)
# 等待頁面加載
time.sleep(5)
# 打開導入界面
driver.get('http://your-odoo-instance.com/web#id=your_view_id&view_type=form&model=mail.send.record')
# 上傳文件
upload_element = driver.find_element(By.NAME, 'file_data')
upload_element.send_keys('/path/to/your/google_send_file.csv')
# 點擊導入按鈕
driver.find_element(By.XPATH, "//button[@name='import_mail_records']").click()
# 等待導入完成
time.sleep(10)
# 關閉瀏覽器
driver.quit()
確認數據導入: 在 Odoo 的「Mail Send Record」模組中查看是否已成功導入數據。
測試 RPA 程式: 運行 RPA 程式並檢查結果,確保自動化過程正常工作。
搬運 Google 信件到Odoo是希望由 Odoo 的數據導入達到更好的管理,因此上面是如何使用 RPA 來自動化這個過程。